git 常用命令

1
2
3
4
5
6
7
8
9
10
11
1. git branch -a  查看远程分支
2. git push origin --delete <branchName> 删除远程分支
3. git push origin :<branchName> 删除远程分支
4. git push origin --delete tag <tagname> 删除远程tag
5. git push origin :refs/tags/<tagname> 删除远程tag
6. git fetch -p 删除没有与远程分支对应的本地分支
7. 重命名远程分支
git push --delete origin branchname
git branch -m branchname newname //重命名本地分支
git push origin newname
8. git fetch origin tag <tagname> 获取远程tag

git 撤销&回滚操作

应用场景

1、把不想要的代码commit到本地仓库,但是还没有push操作;
2、push上去的代码有问题,需要还原上一次提交

场景1 撤销修改

1
2
3
git status
git reset HEAD fileName
git checkout fileName

场景2 回滚 (首先确保当前工作区是干净的,并且和远程分支代码一致 )
撤销指定文件到指定版本

1
2
git log <filename>
git checkout <commitID> <filename>

删除最后一次提交

1
2
git revert HEAD
git push origin develop

回滚某次提交

1
2
git log --oneline -n5
git rebase -i "commit id"^

git 解决冲突

git push 时产生冲突

1
2
git pull          
git push //git 自动合并冲突

如果在git pull 时就存在冲突

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
方法一  丢弃本地修改,采用远程文件覆盖本地文件

git checkout [文件路径]

方法二 手动解决冲突,找到冲突文件中下列标示

<<<<<<< HEAD和=======中间的是你自己的代码, ======= 和>>>>>>>中间的是其他人修改的代码。

确保自己要保留的代码,并删除<<<<<<< HEAD ,======= ,>>>>>>>标示

方法三 暂存本地修改

git stash //将本地修改暂存到工作区
git pull
git stash pop //从栈中将本地修改的代码提取出来

git stash 详解

git stash 可以暂存当前正在进行的工作, 比如想pull最新代码,又不想新加commit;还有一种情况就是,为了fix一个紧急的bug,需要回到上一个commit,